Description:
RCD detects classes that cannot be used by their supposed clients. Such classes are:
public classes that do not contain public members and
public or protected constructors.
In spite of the public access, such classes cannot be
used outside of the declaring
assembly.
This check is performed when the option Check public classes is set.non-private static
members. Such classes cannot be used by any other class.
This check is performed when the option Check non-instantiable classes is set.non-public classes that contain public constructors.
Such classes cannot be instantiated outside of the declaring
assembly.
This check is performed when the option Check non-public classes is set.Incorrect:
MyProperty = class
private
constructor Create(id:String);
function getValue():TObject;
procedure setValue(val:TObject);
end;
Correct:
MyProperty = class
public
constructor Create(id:String);
function getValue():TObject;
procedure setValue(val:TObject);
end;